package com.zsrt.devbase.common.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/** 
 * @author leixin  
 * @Email leixin821792669@gmail.com
 * @date 2017年5月15日 下午4:12:52
 * @version 1.0
 */
public final class RegExpValidator {
    /**
     * @param 待验证的字符串
     * @return 如果是符合邮箱格式的字符串,返回<b>true</b>,否则为<b>false</b>
     */
    public static boolean isEmail( String str ) {
        String regex = "[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\\.){1,3}[a-zA-z\\-]{1,}" ;
        return match( regex ,str );
    }
    /**
     * @param 待验证的字符串
     * @return 如果是符合网址格式的字符串,返回<b>true</b>,否则为<b>false</b>
     */
    public static boolean isHomepage( String str ){
        String regex = "http://(([a-zA-z0-9]|-){1,}\\.){1,}[a-zA-z0-9]{1,}-*" ;
        return match( regex ,str );
    }
    
    /**
     * 验证字符串是否为手机号
     * @author leixin
     * @createTime 2017年5月15日
     * @param str 待验证字符串
     * @return
     */
    public static boolean isPhone(String str) {
		String regex = ConstantDefine.PHONE_NUM_REG;
		return match(regex, str);
	}
    /** 
     * @param regex 正则表达式字符串
     * @param str   要匹配的字符串
     * @return 如果str 符合 regex的正则表达式格式,返回true, 否则返回 false;
     */
    private static boolean match( String regex ,String str ){
        Pattern pattern = Pattern.compile(regex);
        Matcher  matcher = pattern.matcher( str );
        return matcher.matches();
    }
}

